beyondbinaryfandomcom-20200215-history
Cryptomining
Intro Mining "The blockchain records the transactions in units of blocks. Each block includes a unique ID, and the ID of the preceding block. The first block, dubbed the genesis block, is defined as part of the protocol. A valid block contains a solution to a cryptopuzzle involving the hash of the previous block, the hash of the transactions in the current block, and a Bitcoin address which is to be credited with a reward for solving the cryptopuzzle. This process is called Bitcoin mining, and, by slight abuse of terminology, we refer to the creation of blocks as block mining. The specific cryptopuzzle is a double-hash whose result has to be smaller than a set value. The problem difficulty, set by this value, is dynamically adjusted such that blocks are generated at an average rate of one every ten minutes. Any miner may add a valid block to the chain by simply publishing it over an overlay network to all other miners. If two miners create two blocks with the same preceding block, the chain is forked into two branches, forming a tree. Other miners may subsequently add new valid blocks to either branch. When a miner tries to add a new block after an existing block, we say it mines on the existing block. This existing block may be the head of a branch, in which case we say the miner mines on the head of the branch, or simply on the branch. The formation of branches is undesirable since the miners have to maintain a globally-agreed totally ordered set of transactions. To resolve forks, the protocol prescribes miners to adopt and mine on the longest chain.1 All miners add blocks to the longest chain they know of, or the first one they heard of if there are branches of equal length. This causes forked branches to be pruned; transactions in pruned blocks are ignored, and may be resubmitted by clients."Majority is not Enough: Bitcoin Mining is Vulnerable Transactions Mining serves to verify transactions, but the number of transactions per block is left as a variable in bitcoin. The maximum transactions per block is limited by the maximum block size (or 'block height') which is currently limited at 1 MB, leading to a maximum of about 2020 transactions per blockhttps://www.bitcoinplus.org/blog/block-size-and-transactions-second, assuming 495 byte transactions. Since Block mining difficulty is adjusted to give a new block every 10 minutes, then this implies Bitcoin is limited to 12120 transactions per hour or ~3.37 transactions/second. A bitcoin alternative known as 'Bitcoin Plus' extended these limits by increasing the block size to 1.5 MB and setting the block generation rate to 1 minute, leading to ~50.5 transactions per second. Criticisms Selfish Mining Majority is not Enough: Bitcoin Mining is Vulnerable "Abstract. The Bitcoin cryptocurrency records its transactions in a public log called the blockchain. Its security rests critically on the distributed protocol that maintains the blockchain, run by participants called miners. Conventional wisdom asserts that the mining protocol is incentive compatible and secure against colluding minority groups, that is, it incentivizes miners to follow the protocol as prescribed. We show that the Bitcoin mining protocol is not incentive-compatible. We present an attack with which colluding miners obtain a revenue larger than their fair share. This attack can have significant consequences for Bitcoin: Rational miners will prefer to join the selfish miners, and the colluding group will increase in size until it becomes a majority. At this point, the Bitcoin system ceases to be a decentralized currency. Unless certain assumptions are made, selfish mining may be feasible for any group size of colluding miners. We propose a practical modification to the Bitcoin protocol that protects Bitcoin in the general case. It prohibits selfish mining by pools that command less than 1/4 of the resources. This threshold is lower than the wrongly assumed 1/2 bound, but better than the current reality where a group of any size can compromise the system" "The key idea behind this strategy, called Selfish Mining, is for a pool to keep its discovered blocks private, thereby intentionally forking the chain. The honest nodes continue to mine on the public chain, while the pool mines on its own private branch. If the pool discovers more blocks, it develops a longer lead on the public chain, and continues to keep these new blocks private. When the public branch approaches the pool’s private branch in length, the selfish miners reveal blocks from their private chain to the public. This strategy leads honest miners that follow the Bitcoin protocol to waste resources on mining cryptopuzzles that end up serving no purpose. Our analysis demonstrates that, while both honest and selfish parties waste some resources, the honest miners waste proportionally more, and the selfish pool’s rewards exceed its share of the network’s mining power, conferring it a competitive advantage and incentivizing rational miners to join the selfish mining pool. We show that, above a certain threshold size, the revenue of a selfish pool rises superlinearly with pool size above its revenue with the honest strategy. This fact has critical implications for the resulting system dynamics. Once a selfish mining pool reaches the threshold, rational miners will preferentially join selfish miners to reap the higher revenues compared to other pools. Such a selfish mining pool can quickly grow towards a majority." Energy Consumption https://digiconomist.net/bitcoin-energy-consumption "To put the energy consumed by the Bitcoin network into perspective we can compare it to another payment system like VISA for example. Even though the available information on VISA’s energy consumption is limited, we can establish that the data centers that process VISA’s transactions consume energy equal to that of 50,000 U.S. households. We also know VISA processed 82.3 billion transactions in 2016. With the help of these numbers, it is possible to compare both networks and show that Bitcoin is extremely more energy intensive per transaction than VISA." "Proof-of-work was the first consensus algorithm that managed to prove itself, but it isn’t the only consensus algorithm. More energy efficient algorithms, like proof-of-stake, have been in development over recent years. In proof-of-stake coin owners create blocks rather than miners, thus not requiring power hungry machines that produce as many hashes per second as possible. Because of this, the energy consumption of proof-of-stake is negligible compared to proof-of-work. Bitcoin could potentially switch to such an consensus algorithm, which would significantly improve sustainability. The only downside is that there are many different versions of proof-of-stake, and none of these have fully proven themselves yet. Nevertheless the work on these algorithms offers good hope for the future." Mining Fees (see also Blockchain Transactions#Fees) |BitcoinFees://Bitcoin Fees Explained> "People often claim that with Bitcoin "you can send money between any two points on earth for free". While that is true in some cases, sometimes a transaction fee is required. The fee, when it is required, is usually worth a few dollars. The fees go to the miners to incentivise them to keep mining, which in turn keeps the Bitcoin network secure. They already get a reward of 12.5 XBT for each block they mine, but this reward halves every 4 years. The plan is that as the block reward diminishes over the time, it will be replaced by transaction fees." Fees are calculated based on the length of the transaction in bytes. If the transaction is longer than 10000 bytes, it requires a fee: "Once, someone got lucky and turned 0.02 XBT into 1280 XBT on a 64000x payout bet on a bitcoin 'dice' game! When the site paid out the winnings they didn't have a single 1280 XBT input lying around in their wallet. Instead what they had was a whole bunch of various sized outputs from other players' losing bets, as well as a lot of change from paying other winners. The transaction the site created to pay the winner of this jackpot used so many inputs that it ended up being 51,203 bytes long. Being over 10000 bytes, this required a fee of 0.0005 XBT per 1000 bytes or part thereof (prior to being changed to 0.0001, the fee used to be 0.0005), so the required fee was 52 * 0.0005 = 0.026 XBT. That's more than the player bet in the first place. Who says Bitcoin transactions are free!" Batching Transactions How Zebpay reduced bitcoin transaction fees "Zebpay struggled to keep up with customers transfers and customers complained about the unreliability in fees and confirmations. The average fees that we were paying initially was 100 bits , and we had increased the average fees to 200 bits to ensure better confirmations. We found that during peak clogged times, even though we were charging 500 bits from our customers, we were still paying additional fees from our pocket to ensure that transactions got confirmed." "Since Zebpay uses a hosted wallet, our fees cannot be compared to customer wallets such as Mycelium or Core. Those wallets can construct the exact utxo when users initiate a transaction. For Zebpay, lots of users can initiate a transaction at the same time and it is tough to predict the utxo set." (see also Blockchain Memory) "We batch all transactions every 5 minutes and create one transaction that would take 1 input from our hot wallet and the outputs would contain all the addresses that users wanted to transfer to. This ensured that we could pay a high fees for one transaction that combined all transactions during the 5 minute period. We also keep checking mempool congestion and during times when the mempool is not clogged, we consolidate all utxos of our wallets to better manage our wallet with lesser utxos." Cryptosyndicalism Encrypted data such as transactions on a semi-private blockmesh can only be understood if the encryption can be approximately reversed. This can be simple for the intended recipient, who shares a private codebook with the one who encrypted it. However, the deeper problems of cybersecurity arise when we recognise that the sharing of codewords requires trust of other nodes in order for the data to remain secure. At a minimum, the transacting nodes must trust one another. Higher levels of encryption on the transmission of data can reduce the need to trust other nodes who are involved in the transaction (miners, verifiers, encrypters, etc.). Cryptosyndicates of disciples who use common code words and language, able to decrypt complex data under a set of rules which depend on the secret key that only the owner knows. The cryptosyndicates solve one layer of the puzzle, reversing the layer of encryption on the data that was written in their language. However, encryption can be multi-layer and multi-syndicate. At this level, trust can be statistically amplified, by requiring any eaves-dropper that wishes to access the data to be able to decrypt it using multiple keys in multiple languages. Hex Example Hex colour codes are 6 "digits" long, but they aren't "digits" because "digit" means 10 (base 10 - decimal bits). Instead they are "hexadigits" (base 16 - hexadecimal bits) So, just like 19 in decimal can be ♭10011 in binary (♭) (base 2 bits - bits) as (1,0,0,1,1)*(2^4;2^3;2^2;2^1;2^0)=16+2+1=19 It can also be written in hexadecimal (♯) as ♯13 (1,3)*(16^1;16^0)=16+3=19 This forms a sort of encryption of the same piece of information into a different number of symbols. Some languages are much more efficient at certain messages in terms of the number of glyphs needed, but in exchange they have a heavy vocabulary of complex symbols to encode such dense amounts of meaning to so few symbols/glyphs. The key to rapid encryption/decryption is to create symbols that are confusing enough that the messages contained cannot be understood by outsiders to the conversation, but are still meaningful enough that the recipient can interpret them successfully without miscommunications. A simple trick could be a colour test, whereby two numbers are linked through a cryptogram (a puzzle): * The output of the puzzle appears random, it cannot be deciphered without both of the input numbers to de-crypt it. * Having one of the keys simplifies the puzzle by a quadratic factor or more, making it possible to 'mine'. * Mining can be syndicated - outsourced to miners who use the information of the key but do not have access to the key itself. This third property of a crytosyndicate is what separates it from, say, generalised transaction mining on first generation blockmesh/blockchain technology. Different approaches have been explored to achieve this property... Proof-of-Work (coming soon, see also Blockchain#Proof-of-Work) Proof-of-Stake (coming soon, see also Blockchain#Proof-of-Stake) https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ "Proof of Stake (PoS) is a category of consensus algorithms for public blockchains that depend on a validator's economic stake in the network. In proof of work (PoW) based public blockchains (e.g. Bitcoin and the current implementation of Ethereum), the algorithm rewards participants who solve cryptographic puzzles in order to validate transactions and create new blocks (i.e. mining). In PoS-based public blockchains (e.g. Ethereum's upcoming Casper implementation), a set of validators take turns proposing and voting on the next block, and the weight of each validator's vote depends on the size of its deposit (i.e. stake). Significant advantages of PoS include security, reduced risk of centralization, and energy efficiency. In general, a proof of stake algorithm looks as follows. The blockchain keeps track of a set of validators, and anyone who holds the blockchain's base cryptocurrency (in Ethereum's case, ether) can become a validator by sending a special type of transaction that locks up their ether into a deposit. The process of creating and agreeing to new blocks is then done through a consensus algorithm that all current validators can participate in." Proof-of-Capacity BurstCoin https://en.wikipedia.org/wiki/Burstcoin https://www.burst-coin.org/ "A Blockchain-based cryptocurrency depends on its users securizing the network by following a complicated algorithm actively validating each transaction. This activity is called “mining” and because of that the entire Bitcoin network now consumes more energy than a number of countries. With Burst and its Proof-of-Capacity (PoC) algorithm using free disk space instead of energy consuming CPUs and GPUs, mining barely uses more energy than just leaving your computer on." https://www.burst-coin.org/proof-of-capacity "For those who have not studied Proof of Work, a brief summary is that a Proof of Work is a calculation done that proves that an immense number of calculations (aka work) went into creating it. In Proof of Work systems, miners continuously run numbers through a hash function looking for inputs which produces outputs that satisfy some set of constraints. In Proof of Capacity, miners do this work once up-front (this is called ‘plotting’), and save the results which they can continue to use each block without needing to continuously do work. Mining is the act of using these plotted hard drives to power the network. While mining, miners package all transactions they see on the network that have not yet been submitted into ‘blocks’. Then miners pull those Proofs off of the hard drive using a predetermined set of rules and submit them to the network. The end result is that the more hard drive space you contribute to the network, the more power you have over the network." https://www.burst-coin.org/how-to-tutorials https://en.wikipedia.org/wiki/Burstcoin#Mining_(proof-of-capacity) "In order to mine Burstcoins each miner first computes a large data set which is then saved to a computer storage medium. These data sets are known as plots. For each new block in the blockchain each miner will read through a tiny subset (1/4096th - approximately 0.024%) of their own saved plots and return a result as a time interval in seconds known as a deadline. The miner with the lowest deadline wins the block and is then rewarded with the transaction fees and the decreasing block reward of Burstcoins. The computational resources for mining are limited to the time it takes the miner to read the plot files stored on mass storage. Once this is achieved no other computational resources are needed until the next block making Burstcoin highly energy efficient.14 The total size of a miners plots is comparable to the mining speed used by other cryptocurrencies. The hardware entry point for Burstcoin mining is minimal as it can currently be mined on an Android device.1516 Proof-of-capacity is also claimed to be ASIC-proof. Burstcoin's proof-of-capacity algorithm is based on precomputed proof-of-work, so theoretically one could compute the Proofs in real time. However, it is currently impossible to efficiently compute a significant amount of work during a 4-minute time interval. Inspecting the precomputed work stored on the hard drive is both faster and more energy efficient than any conceivable ASIC device could achieve providing in real-time." Proof-of-Accessibility Mining "Accessisibility" is to generate networks in which the net goal is to promote the accessibility of the network to the most diverse group of nodes in the most egalitarian manner possible such that socialized inaccessibility is not as disabling for people living with impairment or atypicality. Mining access allows translations and re-statements of data to be valued within in the network such that there is no longer a single definite 'ledger' as in a blockchain, but rather a Rhizomatic mesh of transactions which do not measure any form of wealth, but rather measure how much each transactant contributes to the accessibility of the socioeconomy as a whole, moving into Ephemeral Economics (post-capitalism). The goal of any 'rational actor' in such a network is no longer guided by usury and the desire to increase investment potential in an increasingly competitive global economy - and moving to an ecology perspective and focusing on efficient use of each generations resources without consuming huge amounts of fossil fuels to power standing armies and military bases across the world, but to deweaponize and co-operate and take back control of society from the ruling class and the military-industrial superpowers they fund. Disability revolution References Category:Cryptocurrency Category:Blockchain